
USE EVOLTA3_DES

GO

IF EXISTS(SELECT NAME FROM SYSOBJECTS WHERE NAME = 'InmConsultarStock' AND TYPE = 'P')
   DROP PROC InmConsultarStock
GO
CREATE PROC InmConsultarStock
@IdEmpresa			INT,
@IdProyecto			INT,
@IdEtapa			INT,
@IdTipoInmueble		INT
AS
BEGIN
	SET DATEFORMAT DMY
	SET NOCOUNT ON

	SELECT
		--DATOS DE EDIFICIO
		edi.IdEdificio, 
		UPPER(edi.Edificio) AS [Edificio], 
		UPPER(tco.TipoConstruccion) AS [TipoConstruccion], 
		edi.NumeroUnidades, 
		edi.NumeroPisos, 
		edi.AreaTerreno AS [AreaTerrenoEdificio],
		edi.FechaInicio, 
		edi.FechaEntrega, 
		CASE edi.IdEstado 
			WHEN 0 THEN 'DESHABILITADO' 
			WHEN 1 THEN 'HABILITADO' 
		END AS [Estado],
		UPPER(LTRIM(RTRIM(edi.Observaciones)))                AS [Observacion],
		--DATOS DE LA UNIDAD INMOBILIARIA
		inm.IdUnidadInmobiliaria							  AS [IdUnidadInmobiliaria], 
		inm.NroPiso											  AS [NroPiso], 
		UPPER(LTRIM(RTRIM(inm.NroInmuebleActual)))	          AS [NroInmueble],
		UPPER(LTRIM(RTRIM(ISNULL(inm.Direccion, ''))))		  AS [Direccion],
		UPPER(LTRIM(RTRIM(ISNULL(inm.FichaIndependizacion, ''))))         AS [FichaIndependizacion],
		UPPER(LTRIM(RTRIM(ISNULL(inm.NumeroCertificado, ''))))            AS [NumeroCertificado],
		UPPER(LTRIM(RTRIM(inm.Observaciones)))		          AS [Observaciones],
		UPPER(LTRIM(RTRIM(inm.Modelo)))				          AS [Modelo],
		CASE inm.BonoTP WHEN 0 THEN 'NO' WHEN 1 THEN 'SI' END AS [BonoTP],
		UPPER(LTRIM(RTRIM(ein.Estado)))				          AS [EstadoInmueble],
		UPPER(LTRIM(RTRIM(tin.TipoInmueble)))		          AS [TipoInmueble],
		UPPER(LTRIM(RTRIM(vis.Vista)))						  AS [Vista],
		ISNULL(inm.AreaTerreno, 0)		            AS [AreaTerreno],
		ISNULL(inm.AreaTechada, 0)		            AS [AreaTechada],
		ISNULL(inm.AreaConstruida, 0)	            AS [AreaConstruida],
		ISNULL(inm.AreaTerraza, 0)		            AS [AreaTerraza],
		ISNULL(inm.AreaJardin, 0)		            AS [AreaJardin],
		ISNULL(inm.AreaLibre, 0)		            AS [AreaLibre],
		ISNULL(inm.AreaVenta, 0)		            AS [AreaVenta],
		ISNULL(inm.NumDormitorio, 0)	            AS [NumDormitorio],
		ISNULL(inm.NumBanios, 0)	                AS [NumBanios],
		ISNULL(inm.CodigoBancario, '')	            AS [CodigoBancario],
		inm.CodigoCatastral							AS [CodigoCatastral],
		UPPER(LTRIM(RTRIM(mon.Moneda)))				AS [Moneda],
		--ESTADO DE LA UNIDAD INMOBILIARIA
		CASE WHEN inm.IdUnidadInmobiliaria%5 = 0  THEN 'SEPARACION'
			 WHEN inm.IdUnidadInmobiliaria%6 = 0  THEN 'CUOTA-INICIAL'
			 WHEN inm.IdUnidadInmobiliaria%7 = 0  THEN 'FINANCIAMIENTO-DIRECTO'
			 WHEN inm.IdUnidadInmobiliaria%8 = 0  THEN 'FINANCIAMIENTO-HIPOTECARIO'
			 WHEN inm.IdUnidadInmobiliaria%9 = 0  THEN 'INICIAL-FINANCIAMIENTO-CANCELADO'
			 WHEN inm.IdUnidadInmobiliaria%10 = 0 THEN 'SEPARACION-CON-PAGOS'
			 WHEN inm.IdUnidadInmobiliaria%2 = 0  THEN 'BLOQUEADO'
			 WHEN inm.IdUnidadInmobiliaria%3 = 0  THEN 'DISPONIBLE'
			 WHEN inm.IdUnidadInmobiliaria%4 = 0  THEN 'CANCELADO'
		ELSE										   'ENTREGADO'
		END
		AS [TipoFinanciamientoImagen],
		--ein.Imagen									AS [EstadoInmuebleImagen],
		CASE WHEN inm.IdUnidadInmobiliaria%5 = 0  THEN 'SEPARACION'
			 WHEN inm.IdUnidadInmobiliaria%6 = 0  THEN 'VENTAS'
			 WHEN inm.IdUnidadInmobiliaria%7 = 0  THEN 'SEPARACION-TEMPORAL'
			 WHEN inm.IdUnidadInmobiliaria%2 = 0  THEN 'BLOQUEADO'
			 WHEN inm.IdUnidadInmobiliaria%3 = 0  THEN 'DISPONIBLE'
			 WHEN inm.IdUnidadInmobiliaria%4 = 0  THEN 'CANCELADO'
		ELSE										   'ENTREGADO'
		END
		AS [EstadoInmuebleImagen]
	FROM 
		[dbo].[InmEdificios] edi INNER JOIN [dbo].[InmTipoConstrucciones] tco
		ON(edi.IdTipoConstruccion = tco.IdTipoConstruccion)
		INNER JOIN [dbo].[InmUnidadesInmobiliarias] inm 
		ON(inm.IdEdificio = edi.IdEdificio) 
		INNER JOIN [dbo].[InmEstadoInmueble] ein
		ON(ein.IdEstado = inm.EstadoInmueble)
		INNER JOIN [dbo].[InmTipoInmuebles] tin
		ON(tin.IdTipoInmueble = inm.IdTipoInmueble)
		INNER JOIN [dbo].[InmVistas] vis
		ON(vis.IdEmpresa = inm.IdEmpresa AND vis.IdVista = inm.IdVista)
		INNER JOIN [dbo].[GenMonedas] mon
		ON(inm.IdMoneda = mon.IdMoneda)
		INNER JOIN [dbo].[InmEtapas] eta
		ON(eta.IdEtapa = edi.IdEtapa)
	WHERE 
		edi.Anulado = 0		
		AND inm.Anulado = 0
		AND vis.Anulado = 0
		AND inm.IdEmpresa = @IdEmpresa
		AND eta.IdProyecto = @IdProyecto
		AND eta.IdEtapa = @IdEtapa
		AND tin.IdTipoInmueble = @IdTipoInmueble
	ORDER BY inm.IdEdificio ASC, inm.NroPiso DESC, inm.NroInmuebleActual ASC

	SET NOCOUNT OFF
END

GO

EXEC InmConsultarStock 2, 83, 1, 1
--EXEC InmConsultarStock 2, 83, 1, 2

GO

